﻿using OpenCvSharp;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Media.Imaging;

using Xc.DataAccess.CodeReader.Models;
using Xc.DataAccess.CodeReader.Models.Filters;
using Xc.DataAccess.Core;

namespace Xc.DataAccess.CodeReader
{
    public interface IOpenCvService:IDeviceService<CameraServiceOption>
    {
        FilterDetailInfo[] FilterInfos { get; }

        /// <summary>
        /// 读取一张图片
        /// </summary>
        /// <returns></returns>
        ResultData<BitmapImage> ToImage(Mat mat);

        /// <summary>
        /// 读取图片
        /// </summary>
        /// <returns></returns>
        Task<ResultData<Mat>> ReadMat(params FilterBase[] imageFilter);
    }
}
